
/*
    Software License

    Copyright (C) 2021-05-24  Xoronos

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, version 3.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
*/

/*
    Liabilities

    The software is provided "AS IS" without any warranty of any kind, either expressed,
    implied, or statutory, including, but not limited to, any warranty that the software
    will conform to specifications, any implied warranties of merchantability, fitness
    for a particular purpose, and freedom from infringement, and any warranty that the
    documentation will conform to the software, or any warranty that the software will
    be error free.

    In no event shall Xoronos be liable for any damages, including, but not limited to,
    direct, indirect, special or consequential damages, arising out of, resulting from,
    or in any way connected with this software, whether or not based upon warranty,
    contract, tort, or otherwise, whether or not injury was sustained by persons or
    property or otherwise, and whether or not loss was sustained from, or arose out of
    the results of, or use of, the software or services provided hereunder.

    To request the provided software under a different license you can contact us at
    support@xoronos.com
*/

#ifndef XLEXHELP_BACKEND_H
#define XLEXHELP_BACKEND_H

#define LEXTAB "    "
#include "lexcheck.h"
#include "lexexample_backend.h"
#include "lexexample.h"
#include <stdio.h>

void lex_help_print_encoding_conf( char *all_args[], int noline
 );
void lex_help_print_decoding_conf( char *all_args[], int noline
 );
void lex_help_print_arithmetic_conf( char *all_args[], int noline
 );
void lex_help_print_logging_conf( char *all_args[], int noline
 );
void lex_help_print_dump_encoding_param( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_decode_encode( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_permutation_conf( char *all_args[], int noline
 );
void lex_help_print_mine_xmatrix_comp_rnd( char buffer[256], char *all_args[], int noline
 );
void lex_help_back_print_ac_option( int option, int command, char *buffer, char *all_args[]
 );
void lex_help_print_sequence_conf( char *all_args[], int noline
 );
void lex_help_print_loggining_conf( char *all_args[], int noline
 );
void lex_help_print_mine_xmatrix_comp_ot( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_permute_xmatrix_comp_random( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_permute_xmatrix_comp_deterministic( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_permute_xmatrix_comp_confidential( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_decompress_xmatrix( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_xmatrix_comp( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_xmatrix( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_confidential_pseudo_random_number( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_start_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_monomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_binomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_exchange_monomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_monovalent_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_exchange_polyvalent_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_monovalent_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_commitment_binomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_commitment_sym_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_commitment_sym_certificate( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_response( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_monomial_proof( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_monomial_proof_sym_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_monomial_proof_sym_certificate( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_monomial_proof( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_monomial_proof_sym_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_monomial_proof_sym_certificate( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_signature_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_signature_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_ring_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_permute_ring_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_certificate_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_certificate_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_signature_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_signature_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_ring_signature( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_certificate_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_certificate_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_hash( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_checksum( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_checksum( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_hash( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_hash_to_monomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_hash_to_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_point_to_monomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_monomial_key_to_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_binomial_key_to_start_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_start_point_to_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_point_to_start_point( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_monomial_key_to_monomial_commitment( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_monomial_commitment_to_monomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_symmetric_certificate_to_monovalent_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_convert_asymmetric_certificate_to_binomial_key( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_split_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_encrypt_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_encrypt_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_join_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_decipher_asymmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_decipher_symmetric( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_check_complete_blocks( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_make_block( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_merge_block( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_strip_header_from_block( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_print_header( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_print_lib_info( char buffer[256], char *all_args[], int noline
 );
void lex_help_print_arch( char *all_args[]
 );
void lex_help_print_get_capacity( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_make_steganography_block( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_extract_steganography_block( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_make_steganography_raw( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_extract_steganography_raw( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_convert_asymmetric_signature_to_binomial_key( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_convert_symmetric_signature_to_binomial_key( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_convert_binomial_key_to_asymmetric_signature( char prelude[256], char *all_args[], int noline
 );
void lex_help_print_convert_binomial_key_to_symmetric_signature( char prelude[256], char *all_args[], int noline
 );

#endif
